#ifndef _MEGA_GAMEVIEW_H_
#define _MEGA_GAMEVIEW_H_

#include "Globals.h"
#include "GameObject.h"
#include "IEventsHandler.h"

#include <SFML/Graphics/RenderWindow.hpp>
#include <SFML/Window/Keyboard.hpp>
#include <SFML/Window/Mouse.hpp>
#include <vector>

namespace mega
{

/**
 * Base abstract class for all game views.
 * Derived classes should provide game object and event handler interfaces.
 * Uses render window and views [as constant pointers] owned by main game class.
 */
class GameView
	: public GameObject
	, public IEventsHandler
{
public:
	GameView();
	virtual ~GameView();

protected:
	// TODO: add flags for render and events handling by following views
};

}

#endif // _MEGA_GAMEVIEW_H_